Accelerating SeisSol by Generating Vectorized Code for Sparse Matrix Operators

نویسندگان

  • Alexander Breuer
  • Alexander Heinecke
  • Michael Bader
  • Christian Pelties
چکیده

SeisSol is a software package for the simulation of seismic wave phenomena on unstructured grids, based on the discontinuous Galerkin method combined with ADER time discretization. A recent study shows that the intra-element performance of SeisSol is critical for its overall performance. Most of the element matrices are sparse operators implemented employing a standard sparse matrix storage scheme. Since their sparsity patterns are known a-priori we follow a different approach in this work. Here, we execute an enriched offline and initialization phase which is used to generate hardware-aware code, featuring optimal vectorization and removing indirect memory accesses by eliminating the index arrays and hard-wiring them into the code. Due to these optimizations we are able to run intra-element sparse matrix operations at up to 50% of achievable peak performance of an Intel Sandy Bridge core which results in speeding up SeisSol by a factor of more than 2.1 compared to the original implementation.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Vectorized Sparse Matrix Multiply for Compressed Row Storage Format

The innovation of this work is a simple vectorizable algorithm for performing sparse matrix vector multiply in compressed sparse row (CSR) storage format. Unlike the vectorizable jagged diagonal format (JAD), this algorithm requires no data rearrangement and can be easily adapted to a sophisticated library framework such as PETSc. Numerical experiments on the Cray X1 show an order of magnitude ...

متن کامل

Compiling Imperfectly-nested Sparse Matrix Codes with Dependencies

We present compiler technology for generating sparse matrix code from (i) dense matrix code and (ii) a description of the indexing structure of the sparse matrices. This technology embeds statement instances into a Cartesian product of statement iteration and data spaces, and produces efficient sparse code by identifying common enumerations for multiple references to sparse matrices. This appro...

متن کامل

Compiling Imperfectly-nested Sparse Matrix Codes with Dependences

We present compiler technology for generating sparse matrix code from (i) dense matrix code and (ii) a description of the indexing structure of the sparse matrices. This technology embeds statement instances into a Cartesian product of statement iteration and data spaces, and produces efficient sparse code by identifying common enumerations for multiple references to sparse matrices. This appro...

متن کامل

Capacity Achieving Linear Codes with Random Binary Sparse Generating Matrices

In this paper, we prove the existence of capacity achieving linear codes with random binary sparse generating matrices. The results on the existence of capacity achieving linear codes in the literature are limited to the random binary codes with equal probability generating matrix elements and sparse parity-check matrices. Moreover, the codes with sparse generating matrices reported in the lite...

متن کامل

\nspcg User's Guide, Version 1.0: a Package for Solving Large Sparse Linear Systems by Various Iterative Methods." Report Numerical Results an Experiment Was Conducted Comparing times on a Cray X-mp Computer for Computing the Multiple Rst Order Linear Recursion

32 BLAS routines can be used to implement the preconditioning operation for several common preconditioners. It has also been shown that the eecient implementation of the Iterative BLAS kernels on vector computers often requires the use of assembly language. For those vector computers with a vector cache, assembly language can be used to reduce memory references by re-using vector operands in th...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2013